Telegram Group & Telegram Channel
#تجربه

امروز یک اتفاق جالبی برام افتاد گفتم بگم :

حدودا ۲ سال قبل یک پروژه‌ای رو وارد شدم که برای ۲ تا شریک بود (هر ۲ نیروی فنی) اما دیدها و فیچرهای متفاوت رو نیاز داشتند.
وقتی من وارد شدم از درگیری‌هاشون گذشته بود؛ توی مصاحبه من هر ۲ نفر بودند ولی وقتی همکاری شروع شد فقط ۱ نفر بود و خیلی چیزا هم عوض شده بود.
پیگیر شدم فهمیدم از هم جداشدند بصورت دوستانه و قراره هرکسی با تکنیک خودش و فیچرهای مدنظر خودش کار رو پیش ببره؛ درآمد و ... همه چیز هم قبل جداشدن با رضایت ۲ نفر تقسیم شده بود.
از روی رفاقیت زیاد شاید؛ هرکدوم تو اولین اقدام یک سهم مثلاْ ۵٪ به شریکی که دیگه توی شرکتش نیست هم داده بود.
کسی که من باهاش شروع به کار کردم؛ آدم خیلی حرفه‌ای نبود از نظر کد اما توی بیزینس کد زدن و کار رو یادگرفته بود؛ شریکش اما آدم آکادمیک و بسیار بسیار با سواد بالا در زمینه فنی بود.
ما کار رو شروع کردیم؛ نیروهایی که گرفتیم نهایتا میدیور بودند؛ دستمزدها پایین اما اجازه میداد بهشون انگیزه (پاداش) بدیم؛ و هزینه اینکار هم نیاز به آموزش دادن و البته شلوغ شدن خودمون موقع code review بود.
با همین فرمون و همونطور که حدس زدید چیزی به اسم clean code, code optimization, ... هم نداشتیم.
تقریبا هر ۲ هفته فیچر تحویل می‌شد؛ یک گروهی با فیچر کار میکرد نهایتا ۱ هفته هم مشکلات برطرف می‌شد و دپلوی انجام می‌شد؛ اما تو کل این مسیر تست نویسی موارد اصلی رو داشتیم.
مثلا ما هیچوقت تست نویسی دیتابیس؛ ستون‌ها و ... رو انجام ندادیم اما تست نویسی model, schema, request, response رو توی بکند داشتیم.
توی ۶ ماه پروژه لانچ شد و توی ماه ۹ام قراردادهای اصلیش شروع شد؛ من هم ۳ ماه بعدش وقتی todo plan, ... رو نوشته بودیم و می‌دونستیم تا ۶ ماه آینده تسک‌های اصلی چی هست (تست‌نویسی؛ تمیزکردن و اپتیمایز کردن) برای یک موقعیت شغلی بهتر از تیم خداحافظی کردم و مدیر فنی دیگری وارد شد.
.
امروز متوجه شدم شرکتی که باهاش کار میکردم؛ شرکت رقیب (یعنی دوستش) رو خریده و صاحب همه امتیاز و کدها و فیچر و ... شده.
.
تفاوت تیم من و شرکت رقیب این بود که من و مدیرم جفتمون بیزینس رو دیدیم و می‌دونیم یک چیزایی مثل clean code, optimization , .... رو می‌شه حذف کرد ولی توی کارمون اولین باشیم؛ می‌دونیم با سرمایه‌گذاری روی نیروی تازه‌کار می‌شه به شرکت اجازه خطا کردن داد چون پول بیشتری نگه‌داشتیم و البته وقتی دستمزد کمتری پرداخت می‌کنید (چون ما بیشتر نیروهامون تازه کار و میدیور بودند چندتا متخصص هم داشتیم ولی خب خیلی کمتر نسبت به رقیب که برای هر حوزه حداقل ۱ نیروی متخصص آورده بود) پاداش و هدایای انگیزشی می‌شه به نیروها داد.

.
شرکت رقیب حدودا ۷ ماه بعد از ما نسخه اولیه رو لانچ کرد ۷ ماهی که به ما بازار هدف رو یاد داد؛ نشون داد چقدر فرضیات ما اشتباه بوده و ...
توی این ۷ ماه مشتری‌های ما پر توقع شدند؛ وقتی شرکت رقیب با نسخه اولیه اومد و چون این دانش بازار رو نداشت بازاریابیش همیشه به نفع ما تموم می‌شد؛ مشتری رو متقاعد میکرد که همچین سیستمی‌ رو نیاز داره.
اما مشتری قبل خرید تحقیق میکرد و سیستم مارو می‌دید؛ فیچرهای بیشتر + قیمت ارزون‌تر مجاب می‌شد از ما خرید کنه چون ما نیروهامون ارزونتر بود و هزینه کمتری برای راه‌اندازی داده بودیم.

همه این‌هارو گفتم چون از بچه‌هایی که کتاب fluent python رو می‌خونند سوال ازم میشه شما همیشه اینجوری کد میزنید ؟ جوابش هم قطعا خیر هست.

همینجا هشدار باید بدم اگر رفتید سراغ تکنیک بالا حتما باید تجربه و سابقه اش رو داشته باشید. مدیریت همچین تیم و همچین وضعیت کدی با کوچکترین اشتباه تبدیل به بحران میشه.
این تکنیک مثل یک تیغ تیز هست که شما روی لبه‌اش دارید راه میرید؛ اگر این کار رو درست انجام بدید برنده خواهید بود.
اضافه کردن تست نویسی و هزینه و زمان صرف کردن روی این مورد اما برای من این لبه تیز تیغ رو تبدیل به طناب یا پل باریک کرد.

پ.ن :
آدم آکادمیک بودن ربطی به دانشگاه رفتن و نرفتن نداره؛ منظور تجربه پیاده‌سازی سیستم هست. آدمی که دوره زیادی دیده و کتاب‌های زیادی خونده اما هیچوقت سیستم کامل پیاده‌سازی نکرده یا حتی بطور جداگانه روی بخش‌های مختلف سیستم و فقط با دید فنی کار کرده.
👍70158❤‍🔥4🦄2



tg-me.com/pyHints/522
Create:
Last Update:

#تجربه

امروز یک اتفاق جالبی برام افتاد گفتم بگم :

حدودا ۲ سال قبل یک پروژه‌ای رو وارد شدم که برای ۲ تا شریک بود (هر ۲ نیروی فنی) اما دیدها و فیچرهای متفاوت رو نیاز داشتند.
وقتی من وارد شدم از درگیری‌هاشون گذشته بود؛ توی مصاحبه من هر ۲ نفر بودند ولی وقتی همکاری شروع شد فقط ۱ نفر بود و خیلی چیزا هم عوض شده بود.
پیگیر شدم فهمیدم از هم جداشدند بصورت دوستانه و قراره هرکسی با تکنیک خودش و فیچرهای مدنظر خودش کار رو پیش ببره؛ درآمد و ... همه چیز هم قبل جداشدن با رضایت ۲ نفر تقسیم شده بود.
از روی رفاقیت زیاد شاید؛ هرکدوم تو اولین اقدام یک سهم مثلاْ ۵٪ به شریکی که دیگه توی شرکتش نیست هم داده بود.
کسی که من باهاش شروع به کار کردم؛ آدم خیلی حرفه‌ای نبود از نظر کد اما توی بیزینس کد زدن و کار رو یادگرفته بود؛ شریکش اما آدم آکادمیک و بسیار بسیار با سواد بالا در زمینه فنی بود.
ما کار رو شروع کردیم؛ نیروهایی که گرفتیم نهایتا میدیور بودند؛ دستمزدها پایین اما اجازه میداد بهشون انگیزه (پاداش) بدیم؛ و هزینه اینکار هم نیاز به آموزش دادن و البته شلوغ شدن خودمون موقع code review بود.
با همین فرمون و همونطور که حدس زدید چیزی به اسم clean code, code optimization, ... هم نداشتیم.
تقریبا هر ۲ هفته فیچر تحویل می‌شد؛ یک گروهی با فیچر کار میکرد نهایتا ۱ هفته هم مشکلات برطرف می‌شد و دپلوی انجام می‌شد؛ اما تو کل این مسیر تست نویسی موارد اصلی رو داشتیم.
مثلا ما هیچوقت تست نویسی دیتابیس؛ ستون‌ها و ... رو انجام ندادیم اما تست نویسی model, schema, request, response رو توی بکند داشتیم.
توی ۶ ماه پروژه لانچ شد و توی ماه ۹ام قراردادهای اصلیش شروع شد؛ من هم ۳ ماه بعدش وقتی todo plan, ... رو نوشته بودیم و می‌دونستیم تا ۶ ماه آینده تسک‌های اصلی چی هست (تست‌نویسی؛ تمیزکردن و اپتیمایز کردن) برای یک موقعیت شغلی بهتر از تیم خداحافظی کردم و مدیر فنی دیگری وارد شد.
.
امروز متوجه شدم شرکتی که باهاش کار میکردم؛ شرکت رقیب (یعنی دوستش) رو خریده و صاحب همه امتیاز و کدها و فیچر و ... شده.
.

تفاوت تیم من و شرکت رقیب این بود که من و مدیرم جفتمون بیزینس رو دیدیم و می‌دونیم یک چیزایی مثل clean code, optimization , .... رو می‌شه حذف کرد ولی توی کارمون اولین باشیم؛ می‌دونیم با سرمایه‌گذاری روی نیروی تازه‌کار می‌شه به شرکت اجازه خطا کردن داد چون پول بیشتری نگه‌داشتیم و البته وقتی دستمزد کمتری پرداخت می‌کنید (چون ما بیشتر نیروهامون تازه کار و میدیور بودند چندتا متخصص هم داشتیم ولی خب خیلی کمتر نسبت به رقیب که برای هر حوزه حداقل ۱ نیروی متخصص آورده بود) پاداش و هدایای انگیزشی می‌شه به نیروها داد.

.
شرکت رقیب حدودا ۷ ماه بعد از ما نسخه اولیه رو لانچ کرد ۷ ماهی که به ما بازار هدف رو یاد داد؛ نشون داد چقدر فرضیات ما اشتباه بوده و ...
توی این ۷ ماه مشتری‌های ما پر توقع شدند؛ وقتی شرکت رقیب با نسخه اولیه اومد و چون این دانش بازار رو نداشت بازاریابیش همیشه به نفع ما تموم می‌شد؛ مشتری رو متقاعد میکرد که همچین سیستمی‌ رو نیاز داره.
اما مشتری قبل خرید تحقیق میکرد و سیستم مارو می‌دید؛ فیچرهای بیشتر + قیمت ارزون‌تر مجاب می‌شد از ما خرید کنه چون ما نیروهامون ارزونتر بود و هزینه کمتری برای راه‌اندازی داده بودیم.

همه این‌هارو گفتم چون از بچه‌هایی که کتاب fluent python رو می‌خونند سوال ازم میشه شما همیشه اینجوری کد میزنید ؟ جوابش هم قطعا خیر هست.

همینجا هشدار باید بدم اگر رفتید سراغ تکنیک بالا حتما باید تجربه و سابقه اش رو داشته باشید. مدیریت همچین تیم و همچین وضعیت کدی با کوچکترین اشتباه تبدیل به بحران میشه.
این تکنیک مثل یک تیغ تیز هست که شما روی لبه‌اش دارید راه میرید؛ اگر این کار رو درست انجام بدید برنده خواهید بود.
اضافه کردن تست نویسی و هزینه و زمان صرف کردن روی این مورد اما برای من این لبه تیز تیغ رو تبدیل به طناب یا پل باریک کرد.

پ.ن :
آدم آکادمیک بودن ربطی به دانشگاه رفتن و نرفتن نداره؛ منظور تجربه پیاده‌سازی سیستم هست. آدمی که دوره زیادی دیده و کتاب‌های زیادی خونده اما هیچوقت سیستم کامل پیاده‌سازی نکرده یا حتی بطور جداگانه روی بخش‌های مختلف سیستم و فقط با دید فنی کار کرده.

BY Python Hints


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/pyHints/522

View MORE
Open in Telegram


Python Hints Telegram | DID YOU KNOW?

Date: |

Export WhatsApp stickers to Telegram on Android

From the Files app, scroll down to Internal storage, and tap on WhatsApp. Once you’re there, go to Media and then WhatsApp Stickers. Don’t be surprised if you find a large number of files in that folder—it holds your personal collection of stickers and every one you’ve ever received. Even the bad ones.Tap the three dots in the top right corner of your screen to Select all. If you want to trim the fat and grab only the best of the best, this is the perfect time to do so: choose the ones you want to export by long-pressing one file to activate selection mode, and then tapping on the rest. Once you’re done, hit the Share button (that “less than”-like symbol at the top of your screen). If you have a big collection—more than 500 stickers, for example—it’s possible that nothing will happen when you tap the Share button. Be patient—your phone’s just struggling with a heavy load.On the menu that pops from the bottom of the screen, choose Telegram, and then select the chat named Saved messages. This is a chat only you can see, and it will serve as your sticker bank. Unlike WhatsApp, Telegram doesn’t store your favorite stickers in a quick-access reservoir right beside the typing field, but you’ll be able to snatch them out of your Saved messages chat and forward them to any of your Telegram contacts. This also means you won’t have a quick way to save incoming stickers like you did on WhatsApp, so you’ll have to forward them from one chat to the other.

How Does Bitcoin Work?

Bitcoin is built on a distributed digital record called a blockchain. As the name implies, blockchain is a linked body of data, made up of units called blocks that contain information about each and every transaction, including date and time, total value, buyer and seller, and a unique identifying code for each exchange. Entries are strung together in chronological order, creating a digital chain of blocks. “Once a block is added to the blockchain, it becomes accessible to anyone who wishes to view it, acting as a public ledger of cryptocurrency transactions,” says Stacey Harris, consultant for Pelicoin, a network of cryptocurrency ATMs. Blockchain is decentralized, which means it’s not controlled by any one organization. “It’s like a Google Doc that anyone can work on,” says Buchi Okoro, CEO and co-founder of African cryptocurrency exchange Quidax. “Nobody owns it, but anyone who has a link can contribute to it. And as different people update it, your copy also gets updated.”

Python Hints from it


Telegram Python Hints
FROM USA